package com.example.motion.service;

import com.example.motion.model.MotionRecord;
import com.example.motion.vo.MotionRecodeTopVo;
import com.example.motion.vo.MotionRecordVo;
import com.github.pagehelper.PageInfo;

import java.util.List;
import java.util.Map;

public interface MotionRecordService {

    /**
     * 记录微信步数
     * @param appId
     * @param encryptedData
     * @param sessionKey
     * @param iv
     * @param openid
     */
    MotionRecord motionRecord(String appId, String encryptedData, String sessionKey, String iv, String openid);

    /**
     * 兑换步数
     * @param openid
     * @return
     */
    MotionRecordVo exchangeStep(String openid);

    /**
     * 获取首页步数数据
     * @param openid
     * @return
     */
    MotionRecordVo getStep(String openid);

    /**
     * 获取分局排行
     * @return
     */
    Map<String, Object> getTotal();

    /**
     * 获取个人排行
     * @return
     */
    PageInfo<MotionRecodeTopVo> getPersonTop(int pageNo, int pageSize, String officeCode);

    /**
     * 获取分局排行
     * @return
     */
    List<MotionRecodeTopVo> getOfficeTop();

    /**
     * 获取分局目标里程完成进度
     * @return
     */
    List<MotionRecodeTopVo> getOfficeTargetMileage();

    /**
     * 获取活动参与人数
     * @return
     */
    int getAcitivityPersonNum();

}
